2019年5月24日
目次
mysqlに接続するためのユーザー作成について下記にまとめます。
ユーザーの作成
CREATE USER ユーザー名 IDENTIFIED BY "パスワード"
CREATE USER user@localhost IDENTIFIED BY "password"
パスワードの変更
SET PASSWORD = "新パスワード" #現在接続しているユーザーのパスワード変更
SET PASSWORD FOR ユーザー名 = "新パスワード"
ユーザー名の変更
RENAME USER 現在のユーザー名 TO 新ユーザー名;
RENAME USER user@localhost TO new_user@localhost;
ユーザーの削除
DROP USER user@localhost;
ユーザの権限
ユーザー権限には下記の表のとおりの種類があります。
権限 | レベル | 可能な操作 |
ALL[PRIVILEGES] | GDT | GRANT OPTION 以外の全ての権限を付与 |
CREATE | GDT | データベースの作成およびテーブルの作成が可能 |
ALTER | GDT | ALTER TABLEが可能 |
DROP | GDT | データベース、テーブル、ビューの削除が可能 |
SELECT | GDTC | SELECTの使用が可能 |
INSERT | GDTC | INSERTの使用が可能 |
UPDATE | GDTC | UPDATEの使用が可能 |
DELETE | GDT | DELETEの使用が可能 |
TRIGGER | GDT | トリガの作成、削除が可能 |
CREATE ROUTINE | GD | ストアドルーチンの作成が可能 |
EXECUTE | GDT | ストアドルーチンの起動を有効に可能 |
CREATE VIEW | GDT | VIEWの作成が可能 |
GRANT OPTION | T | 他アカウントへの権限の付与、削除が可能 |
USAGE | G | 全ての権限を与えない設定 |
上記のレベル詳細をまとめます。
(G) グローバル : 全てのデータベースに適用される
(D) データベース : 特定のデータベース内の全てのオブジェクトに適用される
(T) テーブル : 特定のデータベースの特定のテーブル内のカラムに適用される
(C) カラム : 特定のテーブルのカラムに適用される
ユーザーアカウント権限の確認
SHOW GRANTS FRO アカウント; # 対象アカウントの権限を表示
SHOW GRANTS; # 現在のアカウント権限を表示
ユーザーアカウント権限の付与
GRANT 権限 ON レベル TO アカウント;
レベル | |
グローバルレベル | *.* |
データベースレベル | db_name.* |
テーブルレベル | db_name.table_name |
GRANT ALL ON *.* TO user@localhost;
ユーザーアカウント権限の削除
REVOKE 権限 ON レベル FROM アカウント;
REVOKE ALL PRIVILEGES , GRANT OPTION FROM user@localhost;
インデックスの設定
CREATE INDEX インデックス名 ON テーブル名;
インデックスの削除
DROP INDEX インデックス名 ON テーブル名;
ユーザーを外部から接続できるように設定
CREATE USER ユーザ名@'接続元IPアドレス' IDENTIFIED BY "パスワード";
ファイルデータの読み込み
csvファイル等のデータを読み込む際にはファイルを特定の場所に置く必要があります。
下記のコマンドによりファイルを置く場所のディレクトリを確認します。
SELECT @@secure_file_priv;
LOAD DATA INFILE 'ファイル名' INTO テーブル名 オプション
LOAD DATA INFILE ファイルのフルパス INTO TABLE テーブル名 FIELDS TERMINATED BY ',';